package cn.com.open.itembank.service;

import cn.com.open.itembank.dto.Category;
import cn.com.open.itembank.dto.ReturnModel;
import cn.com.open.itembank.entity.QuestionCategory;

import java.util.List;

/**
 * Created by lucky on 2017/7/31.
 */
public interface QuestionCategoryService {
    /**
     * 根据试题应用类别id获取可用试题应用类别信息.
     *
     * @param id 试题应用类别id
     * @return 可用题库信息 question category info
     */
    QuestionCategory getQuestionCategoryInfo(String id);

    /**
     * 获取试题应用类别名称信息
     *
     * @param name    试题应用类别名称
     * @param enabled true 表示只获取可用应用类别
     * @return the list
     */
    List<QuestionCategory> getList(String name, Boolean enabled);

    /**
     * 根据试题应用类别名称串获取试题应用类别id串.
     *
     * @param names 试题应用类别名称串，逗号分割
     * @return the list
     */
    String getIdsFromNames(String names);

    /**
     * 新增试题应用类别.
     *
     * @param model the model
     * @return the int
     */
    ReturnModel insert(Category model);

    /**
     * 修改试题应用类别.
     *
     * @param id                   试题应用类别id
     * @param questionCategoryName 试题应用类别名称
     * @return the int
     */
    int update(String id, String questionCategoryName);

    /**
     * 更新试题应用类别状态.
     *
     * @param id 试题应用类别ID
     * @return the int
     */
    int changeStatus(String id);

    /**
     * 删除试题应用类别
     *
     * @param id 试题应用类别id
     * @return the int
     */
    int delete(String id);
}
